/*
 * @Author: zhaoxiangyu@
 * @Date: 2021-11-05 14:37:06
 * @LastEditors: 647355931@qq.com
 * @LastEditTime: 2021-11-06 15:08:19
 * @Description: file content
 */
// 响应式
// dep存在的意义
// dep 负责存放数据所绑定的所有的观察者的对象容器
// 每个数据都有一个独一无二的dep

export default function Dep() {
  this.watchers = [];
}

// 实例化watcher时 会赋值 Dep.target  = watcher
Dep.target = null;

// 添加依赖收集
Dep.prototype.depend = function () {
  console.log('Dep.target===> 111111111111111', Dep.target)
  this.watchers.push(Dep.target);
  console.log(" this.watchers ===> 9999999999999", this.watchers);
};

// 通知依赖收集
Dep.prototype.notify = function () {
  // 执行所有的watchers
  for (const iterator of this.watchers) {
    iterator.update();
  }
};